// g++ -o show show.cc -std=c++11
#include <cstdio>
using byte_ptr = unsigned char*;

void show_bytes(byte_ptr start, size_t len) {
  for (size_t i = 0; i < len; ++i) {
    printf("%p\t0x%.2x\n", start + i, start[i]);
  }
  printf("\n");
}
template <typename T>
void show(T x) {
  show_bytes((byte_ptr)&x, sizeof(T));
}

// int main() {
//   int x = 4;
//   show(x);
//   double d = 3.432;
//   show(d);
//   return 0;
// }